The Art of Multiprocessor Programming

The Art of Multiprocessor Programming

  • Downloads:3858
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-04-02 14:54:12
  • Update Date:2025-09-06
  • Status:finish
  • Author:Maurice Herlihy
  • ISBN:0124159508
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

The Art of Multiprocessor Programming, Second Edition, provides users with an authoritative guide to multicore programming。 This updated edition introduces higher level software development skills relative to those needed for efficient single-core programming, and includes comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming。 The book is an ideal resource for students and professionals alike who will benefit from its thorough coverage of key multiprocessor programming issues。

Download

Reviews

Kirill

The excellent book to understand deeply of underneath concurrent primitives。 The book has a diverse range of examples and exercises。 If you are not going to write your own concurrent library then you may not read it。 However it's good to have an overview of tools you are daily using。 The excellent book to understand deeply of underneath concurrent primitives。 The book has a diverse range of examples and exercises。 If you are not going to write your own concurrent library then you may not read it。 However it's good to have an overview of tools you are daily using。 。。。more

Nikos Koukis

A bit too much Java for my taste。 If you 're into threads and parallel programming though, this book goes fairly deep in terms of computer science, math as well as actual code implementations in Java。 A bit too much Java for my taste。 If you 're into threads and parallel programming though, this book goes fairly deep in terms of computer science, math as well as actual code implementations in Java。 。。。more

Tim Tulsky

These books are great。 Really easy to read and understand, but not too boring。 A great foundation and/or a refresher。

Nilendu Misra

Worth reading for Chapter 7 alone。 That chapter presents nuances of modern hardware architecture with clear code and its effects。

Fahad Naeem

The Art of Multiprocessor Programming is a guide to multi-core programming on Linux platform which has the flexibility to control individual cores for efficient distribution of threads and process to be uniquely run on those cores。This book is of advanced level and does not give an insightful view to the beginner students of this field。 Mostly theory and algorithms were listed and no consequential examples were provided。 This book lacks interactive ability which is the basis for good concept bui The Art of Multiprocessor Programming is a guide to multi-core programming on Linux platform which has the flexibility to control individual cores for efficient distribution of threads and process to be uniquely run on those cores。This book is of advanced level and does not give an insightful view to the beginner students of this field。 Mostly theory and algorithms were listed and no consequential examples were provided。 This book lacks interactive ability which is the basis for good concept building。 。。。more

Madhura Parikh

Fantastic book, I didn't read this exhaustively but it has a really great balance of theory vs practice, managing to dive deep in each case, and yet remaining highly accessible and engaging。 Fantastic book, I didn't read this exhaustively but it has a really great balance of theory vs practice, managing to dive deep in each case, and yet remaining highly accessible and engaging。 。。。more

Erik Neel

Not always realistic。 Not always usable

Suliman

على حد علمي الأفضل في فنه

Mark

Not terribly clear and the code is riddled with errors, but as far as I can tell this is still the definitive text。 --------note: the code here is in Java。 For the purposes of theory, that's not a big deal, but I suspect practical translation of some of the algorithms to a different language with a different memory model may prove tricky if not impossible。 The algorithms that assume the presence of a garbage collector look especially tricky; I don't know if it's possible to implement a lock-free Not terribly clear and the code is riddled with errors, but as far as I can tell this is still the definitive text。 --------note: the code here is in Java。 For the purposes of theory, that's not a big deal, but I suspect practical translation of some of the algorithms to a different language with a different memory model may prove tricky if not impossible。 The algorithms that assume the presence of a garbage collector look especially tricky; I don't know if it's possible to implement a lock-free concurrent skiplist in a language like C++, but if it is, the details are elsewhere。 。。。more

r

The book is split up into a Principles and a Practice section。 The former is especially nice。 In particular, the result that wait-free objects with consensus number greater than 1 cannot be implemented using atomic registers is now one of my favourites in computer science。 It implies that we really need do other hardware primitives than plain old read & writes for most concurrent algorithms, and this conclusion about hardware requirements is reached through a very transparent, abstract argument。 The book is split up into a Principles and a Practice section。 The former is especially nice。 In particular, the result that wait-free objects with consensus number greater than 1 cannot be implemented using atomic registers is now one of my favourites in computer science。 It implies that we really need do other hardware primitives than plain old read & writes for most concurrent algorithms, and this conclusion about hardware requirements is reached through a very transparent, abstract argument。The main lesson, in my opinion, is that concurrent algorithms are extremely delicate given the presently available language constructs。 Your compiler will screw you over, wrongly ordered statements will screw you over, memory management will screw you over, forgetting to use a synchronization primitive somewhere will screw you over, and so on。 This book teaches you to be mindful about all of these issues, which I think makes it more valuable than the average algorithm cookbook。 。。。more

David Robins

Seems quite comprehensive, but the number of careless errors and a few confusing/incomplete explanations is off-putting, even though there are errata online。

Grzegorz Sikora

This is book is not for pragmatic people。 Mostly it is about theory behind multithread programming, but there are few practical chapters。 I think it will be very hard to read for the beginner and most probably reader will no go and program good multithread programs after reading it。The book the worst part are terrible code examples - not well chosen and they just are erroneous。Polish translation of this book is not more than just acceptable。 There is lack of unified translation of terms, sentenc This is book is not for pragmatic people。 Mostly it is about theory behind multithread programming, but there are few practical chapters。 I think it will be very hard to read for the beginner and most probably reader will no go and program good multithread programs after reading it。The book the worst part are terrible code examples - not well chosen and they just are erroneous。Polish translation of this book is not more than just acceptable。 There is lack of unified translation of terms, sentences sound very unnatural。Overall quite good book, academic-like but not too much。 。。。more

Ushan

In my day, synchronization was just one topic out of many in the undergraduate operating systems course, alongside process scheduling and virtual memory。 Nowadays, however, with multicore processors appearing in $500 personal computers, this topic has become more important。 The first author teaches a whole undergraduate course on it at Brown University using this book as a textbook, and the second author does so at Tel Aviv University。 It has a long discussion of locks (spinlocks, reader-writer In my day, synchronization was just one topic out of many in the undergraduate operating systems course, alongside process scheduling and virtual memory。 Nowadays, however, with multicore processors appearing in $500 personal computers, this topic has become more important。 The first author teaches a whole undergraduate course on it at Brown University using this book as a textbook, and the second author does so at Tel Aviv University。 It has a long discussion of locks (spinlocks, reader-writer queue-based locks, and combinations thereof), lock-free processor instructions (the IBM/360 had one theoretically less powerful than the Intel x86 and newer processors), data structures based on lock-free processor instructions (lists, stacks, queues, hash tables, skip lists)。 and software transactional memory, which is supposed to be the future of multiprocessor programming。 。。。more

Bob Hancock

Great exposition of a complex subject。

DJ

the most theory-driven intro to parallel computing I could find

Scott

The days of Moore's law are moving to multiprocessors。 Manufacturers are having difficulty increasing speed on single processors。 thus, multiprocessors are necessary to continue improving software performance。 The first third of the book evolves the terms and understanding of multiprocessor programming and the rest looks at the practice。 This is written by two very outstanding professors who really understand the topic and provide some great content。 The days of Moore's law are moving to multiprocessors。 Manufacturers are having difficulty increasing speed on single processors。 thus, multiprocessors are necessary to continue improving software performance。 The first third of the book evolves the terms and understanding of multiprocessor programming and the rest looks at the practice。 This is written by two very outstanding professors who really understand the topic and provide some great content。 。。。more